home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Compression / Opener / Source / DefaultHandler.m < prev    next >
Text File  |  1993-07-15  |  1KB  |  57 lines

  1. /*
  2.  * Simple default handler.
  3.  * M. J. Hawley
  4.  * mike@media-lab.mit.edu
  5.  * Copyright (c) November 1991, MIT Media Laboratory.
  6.  */
  7. #import "DefaultHandler.h"
  8.  
  9. extern id NXApp;
  10.  
  11. @implementation DefaultHandler
  12.  
  13. #define appname [NXApp appName]
  14.  
  15. char TmpDir[1024] = "/tmp";
  16. char ArchiveFormat[1024] = ".tar.Z";
  17. char FirstUsed[1024] = "";
  18.  
  19. static NXDefaultsVector OpenerDefaults = {
  20.     {"TmpDir",  TmpDir},
  21.     {"ArchiveFormat",  ArchiveFormat},
  22.     {"FirstUsed",  FirstUsed},
  23.     {NULL}
  24. };
  25.  
  26. char *
  27. deflt(char *s){
  28.     return (char *)NXGetDefaultValue(appname,s);
  29. }
  30.  
  31. + loadDefaults {
  32.     char *s;
  33. #define l(x,xs) s = deflt(xs); if (s && *s) strcpy(x,s)
  34.     l(TmpDir,"TmpDir");
  35.     l(ArchiveFormat,"ArchiveFormat");
  36.     l(FirstUsed,"FirstUsed");
  37.     return self;
  38. }
  39.  
  40. + initialize {
  41.     NXRegisterDefaults(appname, OpenerDefaults);
  42.     [self loadDefaults];
  43.     return self;
  44. }
  45.  
  46. - writeDefaults:sender {
  47.     NXWriteDefaults(appname, OpenerDefaults);
  48.     return self;
  49. }
  50.  
  51. - free {
  52.     [self writeDefaults:self];
  53.     [super free];
  54.     return self;
  55. }
  56. @end
  57.